/**
 * 文件名：@TextView.java <br/>
 * 包名：cn.efunbox.afw.web.mvc.springmvc.view <br/>
 * 项目名：afw-mvc-web <br/>
 * @author xtwin <br/>
 */
package cn.efunbox.afw.web.mvc.springmvc.view;

import java.io.ByteArrayOutputStream;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.view.AbstractView;

import cn.efunbox.afw.web.util.AfwWebConstant;

/**
 * 类名：TextView  <br />
 *
 * 功能：文本视图
 *
 * @author xtwin <br />
 * 创建时间：2015年12月3日 下午6:19:49  <br />
 * @version 2015年12月3日
 */
public class TextView extends AbstractView {
	
	// 编码方式
	protected String encoding = "UTF-8";

	/**
	 * 功能: <br/>
	 * 
	 * 重写：xtwin <br/>
	 * 
	 * @version ：2015年12月3日 下午6:20:01<br/>
	 * 
	 * @param model
	 * @param request
	 * @param response
	 * @throws Exception <br/>
	 * @see org.springframework.web.servlet.view.AbstractView#renderMergedOutputModel(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	@Override
	protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception {
		response.setCharacterEncoding(encoding);
		
		String text = (String) model.get(AfwWebConstant.KEY_TEXT_IN_CONTEXT);
		if (null != text) {
			ByteArrayOutputStream baos = new ByteArrayOutputStream();
			baos.write(text.getBytes(encoding));
			
			writeToResponse(response, baos);
		}
	}

	/**
	 * @version 2015年12月3日-下午6:21:06
	 */
	public void setEncoding(String encoding) {
		this.encoding = encoding;
	}
}
